'''
作业要求：
    1、按格式输出products列表元素
    2、购物车功能：根据products列表写一个循环，询问用户想要什么产品。选择一个商品编号，有时添加，无时报错，按Q退出
'''

products=[
    ["iphone",6888],
    ["Mac Pro",14800],
    ["小米6",2499],
    ["Coffee",31],
    ["Book",60],
    ["Nike",699]
]

#todo:按格式打印输出的要求，必须循环且至少循环一遍，时间复杂度为O(n)

products=dict(products)#存在诸多隐患，比如key值重复时转化为dict类型会出错

print()
print()
print()
print('-------商品属性--------')
for k,v in products.items():
    print('{}   {}'.format(k,v))



print('请输入您想要买的商品\n')
shopping_cart={}
while True:
    info=input().strip()
    if 'q'==info:
        if shopping_cart:
            print('您的购物车里已选清单如下')
            for k,v in shopping_cart.items():
                print('{},{}x{}'.format(k, products[k],v))
        break
    if info not in products.keys():
        print("对不起，没有您想要的商品，请您确定输入是否有误")
        continue
    else:
        print('已选商品{},价格为{}'.format(info,products[info]))
        if info in shopping_cart.keys():
            shopping_cart[info]+=1
        else:
            shopping_cart.setdefault(info,1)

# 整体不错，考虑下给商品增加个编号，这样会更友好一些。